package com.ceadeal.javafxboot.service;

import com.ceadeal.javafxboot.entity.FaceUserInfo;
import com.ceadeal.javafxboot.entity.RespGrabber;
import com.ceadeal.javafxboot.entity.RespStopCondition;

import java.util.List;
import java.util.function.Consumer;

/**
 * @Author: 张寒轩
 * @Date: 2021/3/20 15:21
 * @Description: 流媒体抓取
 */
public interface IRespGrabberService {

    /**
     * @auther 张寒轩
     * @date 2021/3/20 17:54
     * @description 开启resp 图像处理
     * @param respGrabber resp连接对象
     * @param faceUserInfos 人脸池
     * @param filePath      若需要保存每一帧图片，传递的路径
     * @param stopCondition 结束条件
     * @param consumer 匹配到的人脸处理函数
     * @return void
     */
    void startGrabber(RespGrabber respGrabber,
                      List<FaceUserInfo> faceUserInfos,
                      String filePath,
                      RespStopCondition stopCondition,
                      Consumer<List<FaceUserInfo>>consumer
    );

    /**
     * @auther 张寒轩
     * @date 2021/3/20 17:54
     * @description 开启resp 图像处理
     * @param respGrabbers resp连接对象集合
     * @param faceUserInfos 人脸池
     * @param filePath      若需要保存每一帧图片，传递的路径
     * @param stopCondition 结束条件
     * @param consumer 匹配到的人脸处理函数
     * @return void
     */
    void startGrabber(List<RespGrabber> respGrabbers,
                      List<FaceUserInfo> faceUserInfos,
                      String filePath,
                      RespStopCondition stopCondition,
                      Consumer<List<FaceUserInfo>>consumer
                      ) ;

}
